iT邦幫忙

2022 iThome 鐵人賽

1
自我挑戰組

Quest for Hyperskewb系列 第 31

後記與雜談

  • 分享至 

  • xImage
  •  
I have come back to you as I left: a fool.
-- Ged

此前每日都以一句話做小結,規定上來說絕對沒有可能超過每日300中文字基本門檻。如今憋了三十天無法使用這個語言書寫我思我想,就來嘗試以後記直接補足總基本門檻字數,貫徹自我挑戰的精神吧。

參賽

30天是個很有趣的長度。煎熬於無論清醒或酣眠的每個時刻,過了,則像少年PI 中的理查派克逕自消失;大概就是捕捉不了什麼實體,才會在記憶裡佔據確實的位置。過去的鐵人賽經驗是如此,個人第五次參加的本屆,也更是如此。

本來沒有打算參加,只覺得已沒什麼技術可以利人利己地分享。且岔個題,數月前我正積極尋覓能夠接任我內轉之後的組長空缺的人選,其中一位履歷亮眼,一看竟是在學時沒有重疊的同校學長。電訪時不免攀親帶故客套一番,且順便探聽對方門派路數,兼有共同回憶校園生活的敘舊之樂。但畢竟出了社會,話題戛然而止,方向一轉,

學長道:「我投之前看過你們的風評,JD也看得很仔細。你們Team需要的技術真的很紮實。我也看過你個人的鐵人賽文章,都蠻有水準的。」

心底大驚!實在慚愧,往昔所造,雖然不是沒有幾分驕傲,但其中缺點若真要細數,單就自己能夠察覺的,幾乎也能夠再獨自作成30 天系列。此前並不是沒有過新鮮人面試者帶著仰慕眼光說拜讀過與妖精共舞系列,但入門或許可以的一些粗濫材料,行家面前,「終究還是給人家破得乾乾淨淨」。

確實是沒什麼可以分享的,也已經不是狂妄到能夠在清醒時吶喊予焦啦的歲數了。但終究我還是參加了,這都得歸功於又一段與 Quechuas 的對話。生蠔美酒之下,時隔近一年的餐敘,再次有機會互相分享夢想。他前陣子為COSCUP議程軌的準備 勞心勞力,此外還有推動RISC-V至業界以外的普及活動志向,相當精實。多半只是聆聽的我,問及最近有什麼有趣的,沒有什麼,就只有這個hypercubing 多少有點有趣,就提出來分享。

另再岔題,開賽前數周的公司桌遊社活動,牌桌上閒聊時,夥伴問及「Alan今年寫這個題目是什麼啊?hypercubing 是什麼新技術嗎?」我便大笑三聲,隨性解釋「不過就是高維度的魔術方塊」云云。看眾人驚呆也是一樂,但我思緒被牽動之下那場遊戲無緣爭勝,也是沒有辦法。無緣爭勝,也是沒有辦法。

饒是Quechuas 各方面學識皆有涉獵,如此冷門小眾的領域他也是第一次聽說。也許某些心理學效應使然,這番談話我越是熱衷,越是難以抑止思考各方面的可能性。需知,這個小眾領域也與所有的次文化社群一樣,要是在其中悠然地慢慢體會,當然也不是不可能,但鐵人賽賽期將至,就不由得開始想上歪路去。作為專案hyperskewb 名稱之語源的skewb,當初就是因為轉動面與直角座標軸之間的傾斜關係而得到 skew + cube 的產品名,日後的膾炙人口也證明了這一命名的高明之處。然而這裡的批露,足可讓讀者知道,除卻這幾何謎體的歪斜性質之外,我當初也是有著「要做點不一樣的東西」的邪念。後來發現自己就連這邪念也太天真,那就容我後述。

總之就這麼開始了剛於昨天結束的 30 天旅程。雖說是第五次參賽,心態自有熟門熟路的從容,反正報的也是自我挑戰,毫無壓力,完結這種基本目標根本不做他想。然而正因如此,我才特地選擇了能夠給予自己更多挑戰的限制,所謂「自我規則」是也。

Hyperskewb

一般來說若是沒有特別涉獵,知道普通3x3x3 魔術方塊如何轉、遊玩規則如何、甚至如何解出,就已可算是常識廣博之輩,但這樣的人之中,恐怕知道skewb為何物的也是少數吧。是的,我認為這可以使用林迪效應解釋之。三階魔術方塊由匈牙利的建築學教授魯比克先生所初始設計製造,隨後風靡全球。這所有旋轉謎體(twisty puzzle)的元祖,自然也是觸及率最廣、相關活動最多的一種謎體。恐怕這趨勢也會一直繼續下去吧。

註:普通 3x3x3 方塊幾何規格:8個角塊(3個面共享)、12個邊塊(2個面共享)、6個面中心塊(1個面獨有)、佔據一塊空間的不可視的軸。

高階魔方的愛好者也可以算是普通三階魔方的玩家子集,所以即使跨足到更高維度,在謎體設計上,仍然是以簡單類比於 3x3x3的方式延伸。如3x3x3x3,也可以說是正常來講的高維方塊入門款。MC4D的官網也維護了相關的名人榜。而我在 Part II的2x2x2x2嘗試,大概也可以類比於普通3x3x3魔方與2x2x2魔方之間的關係。

註:四維三階方塊幾何規格:16個角塊(4個三維的超平面共享)、32個邊塊(3個三維的超平面共享)、24個面塊(2個三維的超平面共享)、8個體中心塊(1個三維超平面獨有)。為何不提最後一個4維單位

是以我小做研究之後,就推測,高維度的skewb類比魔方也許過去並不存在,那麼透過這次鐵人賽作為一種新謎體的分享會,豈不是一石兩鳥?不過,去年予焦啦的經驗,以鐵人賽作為披露side project的場合,實際上很難期待讓讀者有所收穫,也難以獲得評審青睞,所以參賽資格當然是調整為自我挑戰組才是名實相符的選擇。

後來在賽期中,逐漸加深文獻考察的深度,相當惋惜的發現原來相關的討論早已存在,甚至也有領域內的經典專案就有實作這個謎體,只是未曾賦予4D skewb或是狂妄的hyperskewb之名,再加上該軟體(Magic Puzzle Ultimate)使用C#,並只支援Windows環境,以致於我難以避免地在早期階段疏忽了研究。那其實也沒有差別,如我在相對應的文章中提及的,這題目已經訂作自我挑戰、對於hyperskewb的追求,那麼本質上自有比成為首創者更重要的事。

我很慶幸我始終看著這個題目的亮光筆直前進,毫不迂迴甚至可說直接過了頭,從所用得到的4D歐式幾何、政治意義上的skewbness論證(四維空間比之三維又有許多可能,我如何能說這個謎體是4D skewb而那個不是?)、給出定義、直接粗暴的程式設計(程式生涯中從未寫過如此暴力的code,超過兩千行的array賦值全部使用magic index)、理解謎體規則、整理可用的公式、到最後終於層層套用公式分三段解出4D skewb。這個最後是真的意義上的最後,我在9/30日當晚8:30終於想通中心正四面體的最後一哩路該如何進行,行文至最後已是晚間10:30。

儘管每日發文後,標題當中的「技術」字樣每每令我尷尬,但本系列相比於我前四組系列來講,嚴肅的技術程度不足,但是挑戰性以及對我自身的意義而言,絕對是最難以忘懷的一次。

英文寫作

若以中文寫作固然可以提供給ITHOME以及繁體中文社群更具親和力的內容,但是畢竟當初進行系列文的目的包含了佔領無主地4D skewb的野心,若要屆時在hypercubing論壇再為文介紹一次,總覺得自我重工嚴重。這是考量之一。

考量之二,則是其實系列之初,我相當愚勇地認為這次的挑戰遠不比以往來的嚴峻。仔細想想這個錯覺的成份也都還算站得住腳:予焦啦系列歷時兩年的嘔心瀝血實在是痛與滿足並行,過程中有諸多未知都是且戰且走的;魔術方塊管他維度如何,核心理論說不過一組群論,而且說實在的就算對於群論本身真的毫無涉獵,只要找尋公式得法,那轉得再亂也不是問題;助長這份信心的還有七八月我連續攻克skewb以及轉軸機制類似但切割方式不同的super Ivy cube,雖然不是什麼了不起的偉業,但信心爆棚需要的彈藥大概不過如此。

無論如何,既然挑戰並不嚴峻,那麼就額外加上一些限制吧;既然寫中文會太重工,那就寫英文讓想看的人去看就好吧;哇,這樣也可以順便練習英文寫作!層層疊疊的自我正向回饋強化的行動力,我於是奠定這三十天的作法。事實上,我在英文方面的表現力還是不夠,被動詞彙量與主動詞彙量的佔比比想像中還要高出許多,使得敘述句來來去去就是幾種句型。所以根本上而言,自動導航的佔比還是大於產出、檢驗、修正、再發布的練習效果,所以只能夠算是一陣快要降至徒勞線左右的苦力活吧。

原本我對於系列文的寫作,向來以風格的一致性為絕對,若能指出系列文前後甚至同篇前後稍有出入之處,小至用詞、翻譯,大至風格、結構,都必定會讓我想要道歉再三的。但對於英文這個工具,來自美劇的口語印象實在太深,整個系列看起來便像是街頭嬉皮在聊線性代數一般滑稽。若能搏君一笑,那也不錯就是了。理想上,應該還是要模仿些大師撰寫數學教科書的方式來寫,但這就顯然有待後日研究再行補強。

引言

不過至少,有個格式上另有堅持的部份,我從頭到尾都非常享受的過程,便是篇頭的引言。其中,我29篇都是從敬佩的作者或是喜愛的藝術作品的對話當中選擇,只有一篇cell實在對於該篇主題毫無頭緒,只能用cell作為關鍵字找尋合適的引言;以結果來說因此認識了一位生物學家,尚可接受,但不免類似一個小瑕疵。無論如何,所有引言當中,又有兩句,由於太過合拍的緣故實在無法更加滿意,因此一定要在這裡分享一番。

高維魔方,我初次有這概念時,是在高三,已然放榜知道有著落之時,心之所向隨意探索,發現當屆的小論文競賽有魔術方塊相關的數學文章,拜讀之下大有所獲,而理所當然的延伸就是往高維度走。中間幾經亂流,爬梳高維度幾何的分析工具,沒有線性代數果然還是不行,但即使有了,諸般日常之下也很難再聚焦思考這無用之學,不知不覺從志學到而立之後,驀然回首,早在當初起心動念之時,就已經有一群人(看來也大多是歐美系國家之人)有個社群在交換數學與軟體,現在還可查找論壇中的豐富資訊。這些領域背景,暫且按下不表。

且說突入2x2x2x2篇章之時,我本就預期四維展開的謎體樣貌對於沒有經驗的讀者來說應該很具衝擊性,就因為那轉動的方式相當另類。多了一個維度,就像是好好的空間當中多了看不見的進入點與消失點,而這兩點彼端另有體量不亞於此世的大千世界。而且「點」這種說法並不精確,若要追求精確,空間中任一點都儘可沿著其他的維度有所延展才是。不精確但方便,因為零維的點不佔據任何實體,所以易於想像;否則在這個空間當中的任何一點都已經存在的情況下,即使只是作為心理模型,我們的思維也拒絕任何的挪用;總之,即使只是極度抽象化的2x2x2x2謎體,也一定有奇特的轉動的初見衝擊。

是的,這就必須連結到所謂奇特的轉動。一般來說我們很容易用三維笛卡爾座標想像這個熟悉的空間,但Z方向的特殊性是明顯的,那就是重力。也就是說,在這個方向以及牽扯到這個方向的轉動上,總有個背景力在迫使我們,使得我們不是完全自由的。然而,太空人,雖然並不能說是脫離了重力,但是對他們而言,重力已全作為他們環繞地球軌道所需的加速度,以至於他們的參考座標當中的Z軸,並不像近地表這般限制重重。是的,所以這就理所當然的對應到David Bowie的那首太空漫遊的歌詞,「我正以一種最詭譎的方式漂浮空中」。

這句詞的前後文我也是很喜歡的。迷幻的電子樂過場,幾點鼓聲過去之後,地面控制中心告訴Major Tom,他已經完成了(太空任務發射成功)創舉,若有興致儘可起身活動;隨後歌手以高亢的聲音詮釋太空人的興奮,不用你說啦,我正跨過那扇門,而「I'm floating in the most peculiar way」,我看點點繁星都如此不同。有別於啟程時英雄的高揚氣氛,這首歌結尾時的尾勁也是令人難忘的,成為藝術經典,百聽不厭。應該與許多人一樣,我也是看了那齣電影才認識這首經典。白日夢冒險王的精神的確相當適合啟程、踏出舒適圈等種種意象,但歌的故事性或許更勝電影,至少這是愚見。

第二句恐怕就要小眾的多,同樣是用在2x2x2x2時。引言「當外盒打開內盒的當兒,內盒打開外盒」出自挪威哲學教授喬斯坦賈德的紙牌的祕密的重要人物紅心A口中。這句話本身前言不對後語,但那是劇中的敘事結構被折疊之後互相指涉的結果,就像第四個維度明明存在但我們只能從三維投影來觀測整個puzzle的效果一樣。這一句話最終被安插在「小丑之宴」的預言接龍之中,「裏」故事與「表」故事同時得知這個資訊卻各有各的解讀,可以說是魔幻版的「黑洞頻率」。

內容

撇去用字遣詞、形式問題,內容上我也有不滿意之處。畢竟是非常臨時起意的參賽,三個部份都有分段的選擇、資訊整合不足的問題。我發現我必須時常使用「要做到xxx,必須先做yyy」的句型。

理想上,應該要能作到乾淨的切分,

  • 介紹謎體
  • 定義用語
  • 定義所使用的公式
  • 解決的歷程與思考

而我做的比較不好的部份是前兩個前置作業。無論是2x2x2x2或是4D skewb,即使都是盯著三維投影進行遊戲,但對我來說,建立起來的實在感與把玩一般三維謎體無異。加上心態從容但節奏逐漸匆促的節奏的效應,就是很容易到後來才發現某些東西(也許是我突然開始使用的表示法、術語,也許是先前沒有發現的性質,如奇偶性)需要解釋,這種時候就很尷尬了。

以這次系列文的作法,就是試圖詳實解釋每一個步驟,希望提供連續的體驗以補充結構交雜的弱點。但話又說回來,一般讀者通常不會那麼致力於真的理解系列文的任何一篇,遑論這是一個沒有什麼技術含量的side project文。

在4D skewb的解決過程尾聲,還有一陣亂流發生在內部的正四面體塊只剩四個沒解決的時候。那時是週五剛下班,深知沒有時間浪費而全速運轉,但是即使核心公式已經固定,前後的設置步驟卻還是非常複雜。從七點卡到八點毫無進度,已經開始有點絕望。後來果斷開始亂槍打鳥尋找合適的設置步驟再使用查表法。雖然最後是成功找到出路,但這陣亂流之後,我就已失去了精確的歷程紀錄。

其實是略顯可惜沒錯,但也不至於很遺憾。作為一個追尋的過程(Quest),我捫心自問並未失格,只是這冒險日誌不夠結構化而已。然而,在冒險日誌中尋求結構化,是否為不可及的目標?值得思索,也需要更多嘗試。

以內容而言,我儘管最一開始並無實質掌握兩款四維謎體的概念,但無論是報名(8/10)時的系列大綱還是心目中粗糙的時程表,都實踐的還不錯。事實上也許是太過鬆散了也說不定,畢竟時程中間容納了些許亂流,這就留待後述。

幕後花絮

整體來講,這次的準備大部分時候都還算充裕。從八月初有了靈感與動力之後,著手準備至開賽前,已經有了五六篇的存稿量。第一章的介紹部份,有一整個目標後來被我忽略掉了,那就是學習既有軟體的資料結構。我甚至曾經考慮過在MC4D裡面實作4D skewb,但無奈實在無法迅速駕馭有歷史的Java codebase。而且參考過另外一套我比較欣賞(cubeops)的資料結構之後,不是很喜歡MC4D的作法。於是乎,第一章就只剩下一些說明四維空間的相關思考,大部分還是仰賴寄有的youtube影片。

第二章2x2x2x2開始時其實也還算充裕,畢竟探索和解法是平鋪直述的經驗流,兩三個小時玩一玩寫一寫就可以撐一篇不會內疚的份量,所以週末可以很高產,周間的話兩個下班後的夜晚也足以寫完一篇有餘。是以,途中存量有餘、但2x2x2x2還未完全解完時,就先開始著手hyperskewb的準備。

大致上,第三章4D skewb篇背後的努力可以分作三個部份:熱身(包含數學分析與skewb的解法展示)、實作、玩。熱身的部份就是前段提到的可以預先開始寫的部份。如同系列內文提到的,高維度skewb相關的思考是在整場旅程之中一直運行於我思維背景的,所以系列文終於能夠進行到將之成文的階段時,真的相當解脫。實作則較煎熬些。確定了在MC4D實作新謎體之後,就得自己研究怎樣的框架合適,原本相當早期的時候排除了PastLeo大的WebGL demo,因為缺乏滑鼠控制與太過底層的緣故。後來發現既有的一些javascript開源函式庫都太過直接,只支援3x3x3標準魔術方塊的架構很難改成我所需要的狀態,所以到頭來還是回到了從WebGL引擎去搭配4D skewb邏輯的方式。這些評估也是在前述 2x2x2x2 的背景下抽空一點點完成的。但隨著2x2x2x2文章存量的消耗,就只能回頭銜接,以致於實作的部份是在第三章的中期,也就是真正開始玩不久前才完成的。

玩4D skewb的部份就真的是最操的部份了。存量在9/23完全耗盡,進入且戰且走的狀態。在連續兩天挑戰轉亂程度為8的時候,多少有點心虛,但對於過於複雜的局面束手無策,也的確是事實。以現在作為4D skewb經驗者的身份回顧,那時候的確還沒有完全掌握這個謎體以及實作出來的簡陋遊玩系統的使用方法,就像是下棋的時候沒有辦法基於當前盤面往後推算步數的一種殘缺。幸好上週末一口氣衝刺至9/28的內容。9/29解決邊塊以及9/30解決後半的篇幅相當之大,這是使用公式的人類所不得不付出的成本,實在沒有辦法。

前述的亂流包含許多獨立事件。為了排解心情出遊、連續腹瀉的大病一場、公司突如其來的緊急專案;比較愉快則是Netflix突然宣佈Gundam UC的下架日期,只好撥空出來重溫。

總之,估計時程的時候,預留的空間應該當作基本而不是額外附加。但其實這也表示,鐵人賽的挑戰裡面,「個人可以連續支配的時間」是容易被忽略的部份,尤其是相比於技術和寫作。

實作

4D skewb的實作,以PastLeo去年的WebGL系列的範例程式碼作為骨幹,再加上4D Skewb所需要的狀態轉換與控制按鈕即告完成,這個部份是我有意識地迴避提及的。原因無他,狀態轉換的部份,都在轉法一文描述。除此之外的控制部份,也就是普通的javascript而已。

這個實作本身沒有延展性可言,作為遊玩系統也的確讓人感到不便。但別誤會,我指的不是沒有滑鼠控制這件事。滑鼠控制目前在我的技術能力之外,因為目前的實作方式只是將各種幾何多面體先「手動建模」,然後再依照4D skewb展開的各個體(cell)多重地放置到正確的位置。滑鼠控制要能作到,首先需要能夠按照座標逆向檢索出對應的多面體為何。

順帶一題,寫作過程中發現MPUlt軟體早已實作了4D skewb,本來沒有主動想嘗試的意思,但因緣際會之下又有了可存取的微軟Windows機器,就拿來小試一番。它的4D skewb並未如此命名,想來也是不想爭辯「何謂skewbness」這種問題吧。該軟體的滑鼠控制,以我簡單把玩的印象,是只鎖定在一個體當中共有八個的正四面體,點擊之則可以旋轉;除此之外的類型,對之點擊是沒有作用的,這也是理所當然,畢竟邊塊的話,有兩個軸可以轉動,雖說理論上可以實作拖曳再將拖曳的二維向量逆對應到四維空間的施力方向,但是也如同我在介紹skewb的時候展示的ruwix遊戲界面,實際上非常的不穩定。至於中心的正八面體塊,更是有許多旋轉會移動到它。

另外有一個在遊玩MC4D時很自然的功能,我目前為止都沒有認真想過該怎麼做,也許蠻棘手的。那是物件偵測後續,當滑鼠游標移動到一個多面體上時,該多面體會有被強調的效果,周圍泛起白線邊框;事實上,就算是未被鎖定的多面體,也都有黑色的邊框。無論是鎖定或未鎖定,說來慚愧,這個邊框到底怎麼做?目前4D skewb的做法是,直接把貼圖做成有黑線邊框的樣式,這樣WebGL貼圖之後,自然就有黑色邊框;若非如此,各個多面體同色塊糊成一團,而我在光線的控制又還處理得很陽春的情況下,會比現在還要難以辨別。

hypercubing 本身

MC4D的維護者同時也是hypercubing論壇的掌門人的Melinda,在近期的一則討論串中,論述了hypercuber社群的組成份子,原文引用如下,

There are a lot of different perspectives here including

- Speed solvers
- Blind solvers
- Math enthusiasts
- Puzzle enthusiasts
- Puzzle creators
- Students/educators/parents
- Collectors

這看起來很像子群體的人口基數之於普通3x3x3魔術方塊的由大到小排序清單,不過他本人的依據不得而知。順帶一題,我自認為應該屬於數學與謎體愛好者的分類。

這些子群體從這種謎體之中感到興趣的部份自然大不相同。我認為,最粗略的分類,有集中型與發散型兩種。集中型會固著於特定的謎體種類,並磨練針對那類謎體的技藝;這主要含括清單中的速解玩家與盲解玩家。發散型的定義則相反,他們傾向於探索不同的謎體。以這個角度來說,高維謎體之於原本的3x3x3標準魔術方塊來說,也算是一個子領域的展開,只是因為同質性的緣故,所以高維謎體子群體的內部分歧結構類似於原本的分歧結構。或許也無須限定高維謎體,有另外一個母群體Virtual permutation puzzle包含所有物理上難以實作的謎體,代稱那些只有軟體形式的謎體。

隨著維度的提高,社群也急速的縮小。還可以稱得上社群的最高維魔方軟體,應該是MC7D,也就是維度為7的謎體世界。除此之外,像是任意n維度的2^n謎體的通解,也有玩家已經給出。我自己從未在任何一個子領域裡面有過心領神會的經驗,一直都是很表層的觀摩著。

這樣觀察下來的結果,我隱約覺得與對弈棋類有類似的演化軌跡。比方說西洋棋愛好者社群,他們熱情的探索各種變體規則,甚至有線上平台可以讓玩家之間以變體規則對決;今年初也有一篇以AI來協助變體規則的適用性的研究。圍棋雖然也不是沒有變體規則,但從缺乏這樣的平台與相關討論的量來看,與西洋棋之間倒是一個很有趣的對比。然而兩種棋之間的差異因子太多,這裡就不僭越分析。我想描述的是,本體或是元祖享有的地位是無上的,其餘的變體以及社群內部的興趣群組分化都很難撼動。這看起來也有林迪效應。

但這是就重要性而言,短期內看來是如此,但長期看來的變動也非不可能,且可以適量地引用達爾文理論描述。比方說圍棋在中國誕生,自古以來都有座子(黑白雙方一開始就在對角星位擺子),最終結算時每一塊領地須扣除兩子的稅,其理論是為了活棋最小需有兩眼,因此兩子不能算入領地面積,說來也算合理;但後來圍棋東渡至日本現代化且發揚光大之後,座子規則的移除讓圍棋布局更活潑精彩,讓二子頭規則的移除則影響了遊戲的優勢策略。這顯然是地理隔絕之後的變異,現在世界主流的圍棋規則,即使是現行中國棋院的規則,也都已經是與日本現代圍棋較接近,而非與中國自古的圍棋規則類同。

也就是說,經過一定的隔絕與社群各自發展,最後還是會有整合潮流的原分支繼承一切的可能。話題回到hypercubing領域,如圍棋現代化轉變的過程是否有機會重現呢?我個人是非常樂見其成,但這也不是容易的事情,因為我們在認知的過程當中,很容易以偏概全。所謂的偏,我這裡指的就是最大的子群體:魔術方塊速解。

之所以子群體最大、聲量最高,是因為世界方塊協會的官方競賽項目之中,最受矚目的就是速解項目。人們大概也有時會看到新聞,世界冠軍刷新3x3x3速解紀錄至5秒以下、盲解也只需要幾十秒云云。誠然,速解玩家們的成就是非常了不起的,與任何競賽一樣,給予強者們公正的環境彼此競爭,假以時日,發展出來的都是人類鑽研特定技藝的耀眼光芒。一知半解的人們可能會說解魔術方塊只是背公式套用而已,我可以斷言絕非如此。速解所需要的是在0.1秒尺度判讀方塊的狀態、預先決定應選用的公式。這些決策都會影響下一個階段的狀態,所以要是選取得宜,就可以篩選出最輕鬆的下階段狀態。除此之外,還有靈活的手指技巧,沒有苦練絕不可能達到那樣的極速。又,速解圈與方程式賽車競速相同,玩家的角色相當於車手,方塊製造商則相當於車廠。如何呈現性能良好的賽車給車手發揮這樣的問題,也同樣驅動著方塊製造商從剛體零件進化到使用彈簧與磁鐵,以讓玩家有更華麗的操作。方程式賽車的政治角力通常也是看點之一,WCA雖然沒有同等的戲劇性,但人或製造商的風波也不是沒有過。

然而這仍然只是全體的一部分。回到Melinda的分類,謎體創作者與愛好者社群裡面有各種奇想天外的設計。如果稍早的superivy cube不夠驚世駭俗,這裡還有這個,或是原型雖為正方體,但是轉起來非常恐怖的這個。這些設計概念,在hypercubing之中都還付之闕如,至少以比例而言是如此。

也就是說,有一些在實體物理世界已經發展得很精彩的謎體設計概念,在hypercubing裡面相當於是尚未開拓的境界。非線性的截面、可變形轉動限制轉動融合轉軸等等概念。

理論上比較基本的部份也是。之所以3x3x3的速解和盲解能夠如此蓬勃,實際上是因為大家能夠踩在巨人的肩膀上的緣故。除非必要,否則很少魔術方塊入門者需要從頭開始探勘公式,大部分玩家往往會直接接觸所感興趣的速解體系所建議的公式集合。但是那些公式的探勘,在高維空間也比較少人涉獵,所需要的運算量則是不成比例的大,針對不同形狀的謎體,所需額外設計God's number演算法的工夫也會更多。

還有些也很有趣的。魔術方塊這種東西也有人試著用強化學習AI去學著解。但是我好奇,如果不是在給定資料結構的情況下,也就是說,類似人類第一次接觸MC4D軟體的經驗,它們還有辦法在那種有限的網路結構之中學會怎麼解嗎?

盤點這些尚存的藍海,很難讓人不興奮,對吧?

結論

打到這裡,算起來已經突破三萬byte,除以三來計算中文字,也是已經超過一個系列文所需要的門檻中文字了。這樣應該稍微符合了一點鐵人賽規則吧。

老樣子感謝ITHOME今年再次舉辦鐵人賽。今年還別開生面地在賽前調查了感興趣的參與方式、建議等等。只是慚愧的是,這次由於4D skewb衝刺實在耗費太多力氣,沒有什麼空學習其他鐵人的寫作,也就無法像去年那樣條列點評了。

感謝脆脆肉克斯超人兩位夥伴以參賽回應我的召喚,希望兩位都能夠在撰寫系列文的過程中獲得一些以常規手段沒有辦法獲得的東西,也希望兩位都能夠滿意於自己的成長。兩位的系列文我都有看,相信也都會給今後的組內新人提供指引吧!

感謝前晶心壯士的nylon和Quechuas,在得知我的參賽之後的加油打氣。

我最感謝的是老婆大人,這三十天在旁邊守候如同機器人一般、眼神空洞盯著螢幕上無以名狀的色塊的我。若沒有她幫忙煮菜盛飯倒水,早就餓死了。

這次參賽之後,很有鐵人賽引退的念頭。參加過五屆,也都很任性地只做自己想做的東西,而未將社群的需要考慮進去。歡迎感興趣的讀者訂閱hypercubing論壇,或是直接下載MC4D、MPUlt等軟體感受其中的妙味。也歡迎對RISC-V感興趣的讀者透過 alankao在andestech.com 聯絡我或投遞履歷給我。最近面試時,往往也須給年輕技術人一些關於表達或是準備方向的建議,才能讓他們不至於被reject之後還得空手而回。若是我能夠幫上忙,看到這段話的你也是有緣人,不妨來信討論我可以如何幫助你。

但畢竟就是因為太有趣了才會不惜消耗下班後剩餘的精力再來做project。鐵人賽,之後參加也好旁觀也罷,不論是哪條路,都是認識自我之道上的逕流。接下來如何走?何妨吟嘯且徐行。

旅程仍在持續當中。


上一篇
[Part III] Regular tetrahedra and octahedra
系列文
Quest for Hyperskewb31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言